package com.pucong.gitee.database.backup.business.sys.service;


import com.pucong.gitee.database.backup.common.entity.sys.SysReturnUrl;
import com.pucong.gitee.database.backup.common.entity.sys.UserJwt;
import com.pucong.gitee.database.backup.common.entity.sys.UserLoginVo;
import com.pucong.gitee.database.backup.common.entity.sys.UserUpdatePwdVo;
import com.pucong.gitee.database.backup.common.entity.sys.dto.SysUserSettingUpdateDto;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface SysLoginService {

    /**
     * 是否登录
     * @return
     */
    Boolean isLogin();

    /**
     * 获取登录用户
     * @return
     */
    UserJwt getLoginUser();

    /**
     * 登录
     * @param userLoginVo
     * @return
     */
    UserJwt login(UserLoginVo userLoginVo);

    /**
     * 退出登录
     */
    SysReturnUrl loginOut();

    /**
     * 更新密码
     * @param userUpdatePwdVo
     * @return
     */
    SysReturnUrl updateUserPwd(UserUpdatePwdVo userUpdatePwdVo);

    String createToken(UserJwt userJwt);

    /**
     * 修改用户设置
     * @param userUpdatePwdVo
     * @return
     */
    void updateUserSetting(List<SysUserSettingUpdateDto> userUpdatePwdVo);

    /**
     * 获取 登录用户 自定义设置
     * @return
     */
    String getLoginUserSetting();
}
